package com.sense.kukoo.common.repo.bean

import android.os.Parcelable
import kotlinx.parcelize.Parcelize

@Parcelize
data class BookDetailsBean(

    val alias	        :String?,//别名	string
    val auditState	    :Int?,//审核状态: -1. 未通过; 0. 待审核; 1. 已通过;	integer(int32)
    val author	        :String?,//作者	string
    var bookItems	    :ArrayList<BookItemBean>?,//章节信息	array	BookItemVO
    var chapterTotal	:Int?,//章节数	integer(int64)
    val coverUrl	    :String?,//封面URL	string
    val createdAt	    :String?,//创建时间	string(date-time)
    val createdBy	    :Long?,//创建人	integer(int64)
    val createdByName	:String?,//创建人名称	string
    val currMonthVisits	:Long?,//本月访问	integer(int64)
    val duration	    :Int?,//时长(单位: 秒)	integer(int32)
    val firstTypeId	    :Long?,//一级分类ID	integer(int64)
    val firstTypeName	:String?,//一级分类名称	string
    val i18nLang	    :String?,//国际化语言	string
    val id	            :Long?,//主键ID	integer(int64)
    val introduction	:String?,//简介	string
    val isChapter	    :Int?,//是否单集: 0. 否; 1. 是;	integer(int32)
    val isRecommend	    :Int?,//是否推荐: 0. 否; 1. 是;	integer(int32)
    var isSubscription	:Int?,//是否订阅: 0. 否; 1. 是;	integer(int32)
    val keywords	    :String?,//关键词	string
    val listeners	    :Long?,//收听人数	integer(int64)
    val modifiedAt	    :String?,//修改时间	string(date-time)
    val modifiedBy	    :Long?,//修改人	integer(int64)
    val modifiedByName	:String?,//修改人名称	string
    val name	        :String?,//名称	string
    val remark	        :String?,//备注	string
    val secondTypeId	:Long,//二级分类ID	integer(int64)
    val secondTypeName	:String?,//二级分类名称	string
    val sort	        :Int?,//排序	integer(int32)
    val source	        :Int?,//来源: 1. 自制; 2. 转载;	integer(int32)
    val state	        :Int?,//状态: 0. 禁用; 1. 启用;	integer(int32)
    val subscribers	    :Int?,//订阅人数	integer(int64)
    val type	        :Int?,//书籍类型: 0. 未定义; 1. 有声书; 2. 播客; 3. 短内容;	integer(int32)
    val visitsTotal	    :Long?,//访客总数	integer(int64)

    val listening	    :Long?,//当前收听人数	integer(int64)
    val typeName	    :String?,//书籍类型名称	string

    //
    var isShowDes       :Boolean?,//是否全部显示简介

    //本地持久化的数据
    var localAsc        :Int?,//是否正序: 0. 否; 1. 是;
    var localItems      :HashMap<Int,BookItemBean>?

) : Parcelable {
    companion object {
        val TYPE_DEF = 0
    }

    fun idOfBook():Long = id ?: 0

    fun numberOfChapter():Int = chapterTotal ?: 0
}